package com.ssd.handler;

import com.ssd.exception.LogicException;
import com.ssd.model.domain.Trading;

/**
 * Native支付方式Handler：商户生成二维码，用户扫描支付
 * 本接口定义了线下交易预创建的方法，以便生成二维码供用户扫描支付
 */
public interface NativePayHandler {

    /**
     * 统一收单线下交易预创建
     * 收银员通过收银台或商户后台调用此接口，生成二维码后，展示给用户，由用户扫描二维码完成订单支付。
     *
     * @param tradingEntity 交易单，包含交易的相关信息
     * @throws LogicException 当交易预创建过程中出现错误时抛出此异常
     */
    void createDownLineTrading(Trading tradingEntity) throws LogicException;

}

